互动直播服务接口
接口目录
创建互动直播
POST /interactive/api/create
JSON 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| rtmp_addr | 推流地址 | string | 
| vice_stream_num | 副流数量(可选,默认为4个) | int | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
| id | 互动直播 ID | string | 
| mrtc_addr | MRTC 地址 | string | 
返回示例:
{
    "errcode": 1000,
    "msg": "",
    "id": "17lok52y",
    "mrtc_addr": "mrtc://118.178.135.125:8081/17792332/0"
}
获取一页互动直播
GET /interactive/api/list
URL 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| page | 页数,默认 1 | int | 
| limit | 每页个数,默认 15 | int | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
| count | 互动直播总个数 | int | 
| interactive_list | 互动直播列表 | object array | 
| interactive_list.id | 互动直播 ID | string | 
| interactive_list.room_id | 互动直播房间 ID | string | 
| interactive_list.switch_id | 推拉流 ID | string | 
| interactive_list.mix_id | 混流任务 ID | int | 
| interactive_list.rtmp_addr | 混流推流地址 | string | 
| interactive_list.width | 混流界面宽 | int | 
| interactive_list.height | 混流界面高 | int | 
| interactive_list.video_bitrate | 混流视频比特率 | int | 
| interactive_list.audio_bitrate | 混流音频比特率 | int | 
| interactive_list.mix_count | 混流个数 | int | 
| interactive_list.PushState | 是否推流 | bool | 
返回示例:
{
    "errcode": 1000,
    "msg": "",
    "count": 33,
    "interactive_list": [
        {
            "id": "17lok52y",
            "room_id": "1",
            "switch_id": "1",
            "mix_id": 1,
            "rtmp_addr": "1",
            "width": 1,
            "height": 1,
            "video_bitrate": 1,
            "audio_bitrate": 1,
            "mix_count": 1,
            "PushState": false
        }
    ]
}
获取互动直播下的所有流信息
GET /interactive/api/get_streams_status
URL 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| interactive | 互动直播 ID | string | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
| stream_list | 互动直播下的所有流信息 | object array | 
| stream_list.id | 互动直播 ID | string | 
| stream_list.mrtc_addr | MRTC 地址 | string | 
| stream_list.index | 第几个流,从 0 开始 | int | 
| stream_list.live | 是否正在直播 | bool | 
| stream_list.last_publish_time | 最后推流结束时间 | string | 
| stream_list.mrtc_play_addr | MRTC 播放地址 | string | 
返回示例:
{
    "errcode": 1000,
    "msg": "",
    "stream_list": [
        {
            "id": "17lok52y",
            "mrtc_addr": "1",
            "index": 1,
            "live": false,
            "last_publish_time": "1",
            "mrtc_play_addr": "1"
        }
    ]
}
查询混流状态
GET /interactive/api/get_mixswitch_status
URL 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| interactive | 互动直播 ID | string | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
| mix_status | 混流状态 | bool | 
返回示例:
{
    "errcode": 1000,
    "msg": "",
    "mix_status": true
}
修改混流
POST /interactive/api/update
URL 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| interactive | 互动直播 ID | string | 
JSON 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| rtmp_addr | 推流地址 | string | 
| vice_stream_num | 副流数量(填0则不修改) | int | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
返回示例:
{
    "errcode": 1000,
    "msg": ""
}
删除互动直播
POST /interactive/api/delete
URL 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| interactive | 互动直播 ID | string | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
返回示例:
{
    "errcode": 1000,
    "msg": ""
}
批量删除互动直播
POST /interactive/api/delete_interactives
URL 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| interactives | 互动直播 ID(用 , 隔开) | string | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
返回示例:
{
    "errcode": 1000,
    "msg": ""
}
创建并开始混流
POST /interactive/api/open_mixswitch
URL 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| interactive | 互动直播 ID | string | 
JSON 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| mix_count | 混流个数 | int | 
| width | (可选)混流宽,默认 1080 | int | 
| height | (可选)混流高,默认 720 | int | 
| video_bitrate | (可选)混流视频比特率,默认 1Mbps | int | 
| audio_bitrate | (可选)混流音频比特率,默认 64Kbps | int | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
返回示例:
{
    "errcode": 1000,
    "msg": ""
}
停止混流
POST /interactive/api/stop_mixswitch
URL 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| interactive | 互动直播 ID | string | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
返回示例:
{
    "errcode": 1000,
    "msg": ""
}
获取混流配置
GET /interactive/api/get_mix_config
URL 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| interactive | 互动直播 ID | string | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
| mix_parameter | 混流配置 | object array | 
| mix_parameter.index | 第几个流,从 0 开始 | int | 
| mix_parameter.address | MRTC 地址 | string | 
| mix_parameter.width | 视频宽 | int | 
| mix_parameter.height | 视频高 | int | 
| mix_parameter.position_x | 视频在混流中的水平位置 | int | 
| mix_parameter.position_y | 视频在混流中的垂直位置 | int | 
| mix_parameter.position_z | 视频在混流中的层级 | int | 
| mix_parameter.volume | 视频音量 | float | 
| mix_parameter.opacity | 视频透明度 | float | 
| mix_parameter.stretch_mode | 是否拉伸 | int | 
返回示例:
{
    "errcode": 1000,
    "msg": "",
    "mix_parameter": [
        {
            "index": 1,
            "address": "1",
            "width": 1,
            "height": 1,
            "position_x": 1,
            "position_y": 1,
            "position_z": 1,
            "volume": 1,
            "opacity": 1,
            "stretch_mode": 1
        }
    ]
}
修改混流配置
POST /interactive/api/modify_mix_config
URL 参数
| 参数 | 描述 | 取值 | 
|---|---|---|
| interactive | 互动直播 ID | string | 
JSON 参数
需要传入一个数组,数组元素定义如下:
| 参数 | 描述 | 取值 | 
|---|---|---|
| index | 第几个流,从 0 开始 | int | 
| width | 视频宽 | int | 
| height | 视频高 | int | 
| position_x | 视频在混流中的水平位置 | int | 
| position_y | 视频在混流中的垂直位置 | int | 
| position_z | 视频在混流中的层级 | int | 
| volume | 视频音量 | string | 
| opacity | 视频透明度 | string | 
| stretchMode | 是否拉伸 | int | 
返回字段
| 参数 | 描述 | 取值 | 
|---|---|---|
| errcode | 错误码,1000 为正常 | int | 
| msg | 空字符串或错误信息 | string | 
返回示例:
{
    "errcode": 1000,
    "msg": ""
}
错误码
| 错误代码 | 错误描述 | 
|---|---|
| 1200 | 数据库操作失败 | 
| 1201 | Interactiv 不存在 | 
| 1202 | Stream 不存在 | 
| 1203 | hasd Encode 编码错误 | 
| 1204 | hasd IDDecode 编码错误 | 
| 1205 | hasd IDDecode 编码错误 | 
| 1206 | 非法参数 | 
| 1207 | 流数量错误 | 
| 1220 | 混流停止失败 | 
| 1221 | RTMP设置失败 | 
| 1222 | 混流已开启 | 
| 1223 | 混流已关闭 | 
| 1224 | 混流开启失败 | 
| 1225 | 混流关闭失败 | 
| 1226 | 获取节点失败 | 
| 1227 | 获取混流锁失败 | 
| 1227 | 获取混流锁失败 | 
| 1229 | 混流服务错误,请检查混流服务 | 
| 1260 | 获取混流列表失败 | 
| 1261 | 达到混流数限制 | 
| 1262 | 达到推拉流数限制 | 
| 1263 | 达到MRTC流数限制 | 
| 1264 | 获取配置错误 | 
| 1265 | 混流个数出错 | 
| 1266 | 统计推拉流个数出错 | 
| 1267 | 统计流个数出错 | 
| 1230 | 推拉流停止失败 | 
| 1231 | 推拉流开启失败 | 
| 1240 | 修改场景,index 参数不匹配 |